import { whitelist, baseURL } from '@/config.js';
/**
 * 请求拦截器
 * @param {*} Vue
 * @param {*} vm
 */
const install = (Vue, vm) => {
  Vue.prototype.$zx.http.setConfig({
    // baseUrl: 'https://zxing.run/api'
    baseUrl: baseURL,
  });
  // 请求拦截器
  Vue.prototype.$zx.http.interceptor.request = (config) => {
    let hasWhite = false;
    whitelist.forEach((path) => {
      if (path === config.url) {
        hasWhite = true;
      }
    });
    // !hasWhite && (config.header['Authorization'] = 'Bearer ' + uni.getStorageSync('token'));
    return config;
  };
  //响应拦截器
  Vue.prototype.$zx.http.interceptor.response = (res) => {
    if (vm.$zx.http.config.originalData) {
      // console.log('res----->26', res);
      if (res.statusCode === 200) {
        // 处理业务code
        // console.log("res.data.code=" + res.data.code)
        if (res.data.code === 200) {
          // console.log("res.data.code=" + res.data.code)
          return res.data.data;
        } else {
          uni.stopPullDownRefresh();
          uni.$zx.msg(res.data.message);
          return false;
        }
      } else if (res.statusCode === 500) {
        if (res.data.code === -2) {
          uni.reLaunch({
            url: '/pages/main/login/login',
          });
        } else return false;
      } else {
        return false;
      }
    } else {
      //不是返回原始数据
      if (res.code === 0) {
        return res.data;
      } else {
        // vm.$refs.uToast.show({ title: res.message, type: "error" });
        return false;
      }
    }
  };
};
export default {
  install,
};
